package com.kfm.base.file;

import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class Demo02 {

    public static void main(String[] args) {
        File file = new File("d:/temp");

        // 子文件名列表
//        String[] list = file.list();

        // 子文件对象列表
//        File[] files = file.listFiles();

        /**
         * 文件过滤器:
         *   1. 文件名过滤器 FileNameFilter
         *   2. 文件过滤器 FileFilter
         *
         *   都可以结合 listFiles()/list() 方法使用
         */

//        String[] list = file.list(new FilenameFilter() {
//            @Override
//            public boolean accept(File dir, String name) {
//                return name.endsWith(".png");
//            }
//        });

//        String[] list = file.list((dir, name) -> name.endsWith(".png"));

        File[] files = file.listFiles(new FileFilter() {
            @Override
            public boolean accept(File pathname) {
                return pathname.getName().endsWith(".png");
            }
        });

        for (File f : files){
            System.out.println(f);
        }


        // 创建 Path 对象
        Path path = Paths.get("d:/temp");
        System.out.println(path);


        try {
            Files.copy(Paths.get("d:/temp/car.png"), Paths.get("d:/2.png"));
        } catch (IOException e) {
            throw new RuntimeException(e);
        }

    }
}
